package com.share.schedule.simple.model.db;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Sf202102VehicleTaskExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public Sf202102VehicleTaskExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTaskIdIsNull() {
            addCriterion("task_id is null");
            return (Criteria) this;
        }

        public Criteria andTaskIdIsNotNull() {
            addCriterion("task_id is not null");
            return (Criteria) this;
        }

        public Criteria andTaskIdEqualTo(String value) {
            addCriterion("task_id =", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotEqualTo(String value) {
            addCriterion("task_id <>", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThan(String value) {
            addCriterion("task_id >", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThanOrEqualTo(String value) {
            addCriterion("task_id >=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThan(String value) {
            addCriterion("task_id <", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThanOrEqualTo(String value) {
            addCriterion("task_id <=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLike(String value) {
            addCriterion("task_id like", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotLike(String value) {
            addCriterion("task_id not like", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdIn(List<String> values) {
            addCriterion("task_id in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotIn(List<String> values) {
            addCriterion("task_id not in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdBetween(String value1, String value2) {
            addCriterion("task_id between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotBetween(String value1, String value2) {
            addCriterion("task_id not between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeIsNull() {
            addCriterion("vehicle_code is null");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeIsNotNull() {
            addCriterion("vehicle_code is not null");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeEqualTo(String value) {
            addCriterion("vehicle_code =", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeNotEqualTo(String value) {
            addCriterion("vehicle_code <>", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeGreaterThan(String value) {
            addCriterion("vehicle_code >", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeGreaterThanOrEqualTo(String value) {
            addCriterion("vehicle_code >=", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeLessThan(String value) {
            addCriterion("vehicle_code <", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeLessThanOrEqualTo(String value) {
            addCriterion("vehicle_code <=", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeLike(String value) {
            addCriterion("vehicle_code like", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeNotLike(String value) {
            addCriterion("vehicle_code not like", value, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeIn(List<String> values) {
            addCriterion("vehicle_code in", values, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeNotIn(List<String> values) {
            addCriterion("vehicle_code not in", values, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeBetween(String value1, String value2) {
            addCriterion("vehicle_code between", value1, value2, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andVehicleCodeNotBetween(String value1, String value2) {
            addCriterion("vehicle_code not between", value1, value2, "vehicleCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeIsNull() {
            addCriterion("src_zone_code is null");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeIsNotNull() {
            addCriterion("src_zone_code is not null");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeEqualTo(String value) {
            addCriterion("src_zone_code =", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeNotEqualTo(String value) {
            addCriterion("src_zone_code <>", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeGreaterThan(String value) {
            addCriterion("src_zone_code >", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeGreaterThanOrEqualTo(String value) {
            addCriterion("src_zone_code >=", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeLessThan(String value) {
            addCriterion("src_zone_code <", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeLessThanOrEqualTo(String value) {
            addCriterion("src_zone_code <=", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeLike(String value) {
            addCriterion("src_zone_code like", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeNotLike(String value) {
            addCriterion("src_zone_code not like", value, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeIn(List<String> values) {
            addCriterion("src_zone_code in", values, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeNotIn(List<String> values) {
            addCriterion("src_zone_code not in", values, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeBetween(String value1, String value2) {
            addCriterion("src_zone_code between", value1, value2, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcZoneCodeNotBetween(String value1, String value2) {
            addCriterion("src_zone_code not between", value1, value2, "srcZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeIsNull() {
            addCriterion("dest_zone_code is null");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeIsNotNull() {
            addCriterion("dest_zone_code is not null");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeEqualTo(String value) {
            addCriterion("dest_zone_code =", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeNotEqualTo(String value) {
            addCriterion("dest_zone_code <>", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeGreaterThan(String value) {
            addCriterion("dest_zone_code >", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeGreaterThanOrEqualTo(String value) {
            addCriterion("dest_zone_code >=", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeLessThan(String value) {
            addCriterion("dest_zone_code <", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeLessThanOrEqualTo(String value) {
            addCriterion("dest_zone_code <=", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeLike(String value) {
            addCriterion("dest_zone_code like", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeNotLike(String value) {
            addCriterion("dest_zone_code not like", value, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeIn(List<String> values) {
            addCriterion("dest_zone_code in", values, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeNotIn(List<String> values) {
            addCriterion("dest_zone_code not in", values, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeBetween(String value1, String value2) {
            addCriterion("dest_zone_code between", value1, value2, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andDestZoneCodeNotBetween(String value1, String value2) {
            addCriterion("dest_zone_code not between", value1, value2, "destZoneCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeIsNull() {
            addCriterion("src_city_code is null");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeIsNotNull() {
            addCriterion("src_city_code is not null");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeEqualTo(String value) {
            addCriterion("src_city_code =", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeNotEqualTo(String value) {
            addCriterion("src_city_code <>", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeGreaterThan(String value) {
            addCriterion("src_city_code >", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeGreaterThanOrEqualTo(String value) {
            addCriterion("src_city_code >=", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeLessThan(String value) {
            addCriterion("src_city_code <", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeLessThanOrEqualTo(String value) {
            addCriterion("src_city_code <=", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeLike(String value) {
            addCriterion("src_city_code like", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeNotLike(String value) {
            addCriterion("src_city_code not like", value, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeIn(List<String> values) {
            addCriterion("src_city_code in", values, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeNotIn(List<String> values) {
            addCriterion("src_city_code not in", values, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeBetween(String value1, String value2) {
            addCriterion("src_city_code between", value1, value2, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityCodeNotBetween(String value1, String value2) {
            addCriterion("src_city_code not between", value1, value2, "srcCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeIsNull() {
            addCriterion("dest_city_code is null");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeIsNotNull() {
            addCriterion("dest_city_code is not null");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeEqualTo(String value) {
            addCriterion("dest_city_code =", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeNotEqualTo(String value) {
            addCriterion("dest_city_code <>", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeGreaterThan(String value) {
            addCriterion("dest_city_code >", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeGreaterThanOrEqualTo(String value) {
            addCriterion("dest_city_code >=", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeLessThan(String value) {
            addCriterion("dest_city_code <", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeLessThanOrEqualTo(String value) {
            addCriterion("dest_city_code <=", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeLike(String value) {
            addCriterion("dest_city_code like", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeNotLike(String value) {
            addCriterion("dest_city_code not like", value, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeIn(List<String> values) {
            addCriterion("dest_city_code in", values, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeNotIn(List<String> values) {
            addCriterion("dest_city_code not in", values, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeBetween(String value1, String value2) {
            addCriterion("dest_city_code between", value1, value2, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andDestCityCodeNotBetween(String value1, String value2) {
            addCriterion("dest_city_code not between", value1, value2, "destCityCode");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameIsNull() {
            addCriterion("src_city_name is null");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameIsNotNull() {
            addCriterion("src_city_name is not null");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameEqualTo(String value) {
            addCriterion("src_city_name =", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameNotEqualTo(String value) {
            addCriterion("src_city_name <>", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameGreaterThan(String value) {
            addCriterion("src_city_name >", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameGreaterThanOrEqualTo(String value) {
            addCriterion("src_city_name >=", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameLessThan(String value) {
            addCriterion("src_city_name <", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameLessThanOrEqualTo(String value) {
            addCriterion("src_city_name <=", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameLike(String value) {
            addCriterion("src_city_name like", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameNotLike(String value) {
            addCriterion("src_city_name not like", value, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameIn(List<String> values) {
            addCriterion("src_city_name in", values, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameNotIn(List<String> values) {
            addCriterion("src_city_name not in", values, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameBetween(String value1, String value2) {
            addCriterion("src_city_name between", value1, value2, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andSrcCityNameNotBetween(String value1, String value2) {
            addCriterion("src_city_name not between", value1, value2, "srcCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameIsNull() {
            addCriterion("dest_city_name is null");
            return (Criteria) this;
        }

        public Criteria andDestCityNameIsNotNull() {
            addCriterion("dest_city_name is not null");
            return (Criteria) this;
        }

        public Criteria andDestCityNameEqualTo(String value) {
            addCriterion("dest_city_name =", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameNotEqualTo(String value) {
            addCriterion("dest_city_name <>", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameGreaterThan(String value) {
            addCriterion("dest_city_name >", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameGreaterThanOrEqualTo(String value) {
            addCriterion("dest_city_name >=", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameLessThan(String value) {
            addCriterion("dest_city_name <", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameLessThanOrEqualTo(String value) {
            addCriterion("dest_city_name <=", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameLike(String value) {
            addCriterion("dest_city_name like", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameNotLike(String value) {
            addCriterion("dest_city_name not like", value, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameIn(List<String> values) {
            addCriterion("dest_city_name in", values, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameNotIn(List<String> values) {
            addCriterion("dest_city_name not in", values, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameBetween(String value1, String value2) {
            addCriterion("dest_city_name between", value1, value2, "destCityName");
            return (Criteria) this;
        }

        public Criteria andDestCityNameNotBetween(String value1, String value2) {
            addCriterion("dest_city_name not between", value1, value2, "destCityName");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmIsNull() {
            addCriterion("plan_arrive_tm is null");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmIsNotNull() {
            addCriterion("plan_arrive_tm is not null");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmEqualTo(String value) {
            addCriterion("plan_arrive_tm =", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmNotEqualTo(String value) {
            addCriterion("plan_arrive_tm <>", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmGreaterThan(String value) {
            addCriterion("plan_arrive_tm >", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmGreaterThanOrEqualTo(String value) {
            addCriterion("plan_arrive_tm >=", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmLessThan(String value) {
            addCriterion("plan_arrive_tm <", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmLessThanOrEqualTo(String value) {
            addCriterion("plan_arrive_tm <=", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmLike(String value) {
            addCriterion("plan_arrive_tm like", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmNotLike(String value) {
            addCriterion("plan_arrive_tm not like", value, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmIn(List<String> values) {
            addCriterion("plan_arrive_tm in", values, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmNotIn(List<String> values) {
            addCriterion("plan_arrive_tm not in", values, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmBetween(String value1, String value2) {
            addCriterion("plan_arrive_tm between", value1, value2, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPlanArriveTmNotBetween(String value1, String value2) {
            addCriterion("plan_arrive_tm not between", value1, value2, "planArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmIsNull() {
            addCriterion("pre_arrive_tm is null");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmIsNotNull() {
            addCriterion("pre_arrive_tm is not null");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmEqualTo(String value) {
            addCriterion("pre_arrive_tm =", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmNotEqualTo(String value) {
            addCriterion("pre_arrive_tm <>", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmGreaterThan(String value) {
            addCriterion("pre_arrive_tm >", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmGreaterThanOrEqualTo(String value) {
            addCriterion("pre_arrive_tm >=", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmLessThan(String value) {
            addCriterion("pre_arrive_tm <", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmLessThanOrEqualTo(String value) {
            addCriterion("pre_arrive_tm <=", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmLike(String value) {
            addCriterion("pre_arrive_tm like", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmNotLike(String value) {
            addCriterion("pre_arrive_tm not like", value, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmIn(List<String> values) {
            addCriterion("pre_arrive_tm in", values, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmNotIn(List<String> values) {
            addCriterion("pre_arrive_tm not in", values, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmBetween(String value1, String value2) {
            addCriterion("pre_arrive_tm between", value1, value2, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andPreArriveTmNotBetween(String value1, String value2) {
            addCriterion("pre_arrive_tm not between", value1, value2, "preArriveTm");
            return (Criteria) this;
        }

        public Criteria andExpStatusIsNull() {
            addCriterion("exp_status is null");
            return (Criteria) this;
        }

        public Criteria andExpStatusIsNotNull() {
            addCriterion("exp_status is not null");
            return (Criteria) this;
        }

        public Criteria andExpStatusEqualTo(String value) {
            addCriterion("exp_status =", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusNotEqualTo(String value) {
            addCriterion("exp_status <>", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusGreaterThan(String value) {
            addCriterion("exp_status >", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusGreaterThanOrEqualTo(String value) {
            addCriterion("exp_status >=", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusLessThan(String value) {
            addCriterion("exp_status <", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusLessThanOrEqualTo(String value) {
            addCriterion("exp_status <=", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusLike(String value) {
            addCriterion("exp_status like", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusNotLike(String value) {
            addCriterion("exp_status not like", value, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusIn(List<String> values) {
            addCriterion("exp_status in", values, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusNotIn(List<String> values) {
            addCriterion("exp_status not in", values, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusBetween(String value1, String value2) {
            addCriterion("exp_status between", value1, value2, "expStatus");
            return (Criteria) this;
        }

        public Criteria andExpStatusNotBetween(String value1, String value2) {
            addCriterion("exp_status not between", value1, value2, "expStatus");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}